<template>
	<statusBarVue title="商城搜索" :isShowBar="true" :isShowLeft="true" />
	<view class="mall-search-page" :style="pageHaveBarStyle">
		<view class="group search-area">
			<uni-search-bar radius="36" placeholder="搜索服务" clearButton="auto" cancelButton="none" @confirm="handleSearch" />
		</view>
		<!-- <view>
			<text>搜索内容: {{ searchQuery }}</text>
		</view>
		<view>
			{{ recorderManagerJs }}
		</view> -->
		<!-- <button @click="startVoiceSearch">语音搜索</button> <br/>
		<button @click="handleMicEnd">语音结束搜索</button> -->


		<view class="group search-mic-area">
			<view class="mic-group" @touchstart="handleMicStart" @touchend="handleMicEnd">
				<uni-icons type="mic" size="30" color="#22A366" v-show="micState === 0"></uni-icons>
				<uni-icons type="mic-filled" size="40" color="#22A366" v-show="micState === 1"></uni-icons>
			</view>
		</view>
	</view>
</template>

<script>
import statusBarVue from '@/components/statusBar.vue';
// import speechRecognizerManager from '@/utils/recorderManager.js';

import {
	publics
} from '@/mixins/publics.js';

export default {
	mixins: [publics],
	components: {
		statusBarVue
	},
	data() {
		return {
			micState: 0,
			searchQuery: "",
			// recorderManager: null
		}
	},
	created() {
		// this.initRecorder()
	},
	methods: {
		// initRecorder() {
		// 	this.recorderManager = wx.getRecorderManager();

		// 	// 录音开始时的回调
		// 	this.recorderManager.onStart(() => {
		// 		console.log('录音开始');
		// 	});

		// 	// 录音停止后的回调
		// 	this.recorderManager.onStop((res) => {
		// 		console.log('录音停止', res);
		// 		this.processAudio(res.tempFilePath);
		// 	});
		// },
		handleSearch() {
			// console.log("recorderManagerJs --------->>>", recorderManagerJs)
		},
		// processAudio(filePath) {
		// 	wx.cloud.callFunction({
		// 		name: 'speechRecognition',
		// 		data: {
		// 			filePath: filePath,
		// 		},
		// 		success: (res) => {
		// 			console.log('语音识别结果:', res.result);
		// 			this.searchQuery = res.result.text; // 将语音识别结果填充到搜索框
		// 		},
		// 		fail: (err) => {
		// 			console.error('语音识别失败:', err);
		// 		}
		// 	});
		// },
		// 开始录音
		// startVoiceSearch() {
		// 	if (!this.recorderManager) {
		// 		this.initRecorder(); // 初始化录音管理器
		// 	}

		// 	// 开始录音
		// 	this.recorderManager.start({
		// 		format: 'mp3', // 可以选择其他格式
		// 	});
		// },
		startAsr() {
			wx.showToast({
				title: '建立连接中',
				icon: 'none'
			});
			let resultText = '';
			const params = {
				// 用户参数
				secretkey: 'yQimcEcmhRxFKDsIYaNwGMEtKXWGm4A3',
				secretid: 'AKIDPglfVCfuvhFZgZEeq293xmRu9AFF2bv4',
				appid: 1256421271,
				// 录音参数
				// duration: 100000,
				// frameSize: 1.28,  //单位:k

				// 实时识别接口参数
				engine_model_type: '16k_zh',
				// 以下为非必填参数，可跟据业务自行修改
				// hotword_id : '08003a00000000000000000000000000',
				needvad: 1,
				// filter_dirty: 1,
				// filter_modal: 2,
				filter_punc: 1,
				// convert_num_mode : 1,
				word_info: 2,
				vad_silence_time: 200
			};
			speechRecognizerManager.start(params);

			wx.vibrateShort();
		},
		// 开始录音
		handleMicStart() {
			this.micState = 1;


			// const self = this;
			// wx.getSetting({
			// 	success(res) {
			// 		if (!res.authSetting['scope.record']) {
			// 			wx.authorize({
			// 				scope: 'scope.record',
			// 				success() {
			// 					// 用户已经同意小程序使用录音功能，后续调用 record 接口不会弹窗询问
			// 					self.startAsr();
			// 				},
			// 				fail() {
			// 					wx.showToast({
			// 						title: '未获取录音权限',
			// 						icon: 'none'
			// 					});
			// 					// console.log("fail auth")
			// 				}
			// 			});
			// 		} else {
			// 			self.startAsr();
			// 			// console.log("record has been authed")
			// 		}
			// 	},
			// 	fail(res) {
			// 		// console.log("fail",res)
			// 	}
			// });






			// 开始录音
			// recorderManagerJs.start({
			// 	duration: 60000, // 最长录音时间，单位ms
			// });
			// console.log("recorderManagerJs --------->>>", recorderManagerJs)

		},
		// 录音结束
		handleMicEnd() {
			this.micState = 0;

			// speechRecognizerManager.stop();


			// recorderManagerJs.stop();

			// if (this.recorderManager) {
			// 	this.recorderManager.stop();
			// }
		}

	}
	// onUnload() {
	// 	// 页面销毁时停止录音
	// 	if (this.recorderManager) {
	// 		this.recorderManager.stop();
	// 	}
	// }
}
</script>

<style lang="scss">
.mall-search-page {
	position: relative;
	left: 0;
	right: 0;
	overflow: hidden;
	z-index: 99;

	.search-mic-area {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 20px;
		margin: auto;
		text-align: center;

		.mic-group {
			width: 44px;
			height: 44px;
			margin: auto;
			line-height: 44px;
		}
	}
}
</style>